#ifndef _SKILL_H_
#define _SKILL_H_

#include <string>
#include <boost/property_tree/ptree.hpp>

#include "include/GlobalGameObj.h"

using namespace std;
using namespace boost::property_tree;

class Skill
{
public:
	struct SkillInfo
	{
		int skill_id;
		int trigger_dander;
		string trigger_condition;
		string effect;
		string range;
		string trigger_skill;
		string intro;
		int keep_dander;
	};

	struct ProfessionalSkillInfo
	{
		int skill_id;
		int self_consume_dander;
		int enemy_consume_dander;
		string effect;
		string intro;
	};

	static void GetSkillInfo(GlobalGameObj *p_game_obj, int skill_id, SkillInfo *p_info);
	static void GetProfessionalSkillInfo(GlobalGameObj *p_game_obj, int skill_id, ProfessionalSkillInfo *p_info);
	static int CanPerformSkill(GlobalGameObj *p_game_obj, int skill_id, int dander, vector<sting> &buffer_arr);
};

#endif
